package com.mhkj.execute.feedback.service;

import java.util.List;

import com.mhkj.execute.feedback.entity.PlanFeedBack;
import com.mics.core.common.componet.Pagination;
import com.mics.core.system.base.service.BaseService;

/**
 * 计划反馈
 * 
 */
public interface PlanFeedBackService extends BaseService<PlanFeedBack> {

	/**
	 * 分页查询
	 * 
	 * @param type
	 *            类型是个人0或者部门1
	 * @param month
	 *            月份
	 * @param endDate
	 *            结束时间
	 * @param startDate
	 *            开始时间
	 * @param businessTypeId
	 *            业务类型
	 * @param status
	 *            状态
	 * @param taskType
	 *            任务类型
	 * @param taskName
	 *            任务名称
	 * @param pageIndex
	 * @param pageSize
	 * @return
	 */
	public Pagination<PlanFeedBack> findPage(PlanFeedBack planFeedBack, Integer pageIndex, Integer pageSize);

	/**
	 * 根据任务类型查询
	 * 
	 * @param taskType
	 * @return
	 */
	List<Object[]> getCountByFeedBack(String taskType);

	/**
	 * 查询并修改反馈状态
	 * 
	 * @author ypx
	 * @date 2018年7月26日
	 * @version 1.0
	 */
	String changeByStauts();

	/**
	 * 根据计划节点id查询当前节点的反馈集合
	 */
	public Pagination<PlanFeedBack> findPageByPlanNodeId(Long planNodeId, Integer pageIndex, Integer pageSize);

	/**
	 * 根据计划节点id查询当前节点最新进度
	 */
	public PlanFeedBack findFeedBackPlanNodeId(Long planNodeId);

	/**
	 * 查询汇总完成得记录
	 * @author mics
	 * @date 2018年8月23日
	 * @version 1.0
	 */
	public List<PlanFeedBack> listCompelete();
}
